home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_usrdoc / TIN / INSTALL.{_A < prev    next >
Text File  |  1999-09-17  |  16KB  |  407 lines

  1. Compilation and installation notes for tin - 96-12-02 (still incomplete!)
  2. -----------------------------------------------------
  3.  
  4. Note: The section 'News machine names' is now at the beginning as it
  5.       seemed to be the most sought after section.
  6.  
  7. This following configure options and defines are documented in detail:
  8. ----------------------------------------------------------------------
  9.   --enable-8bit-keys         --with-inn-nntplib        HAVE_FASCIST_NEWSADMIN
  10.   --enable-color         --with-iso-to-ascii    HAVE_MMDF_MAILER
  11.   --enable-curses         --with-ispell        HAVE_PGP_5
  12.   --enable-debug         --with-libdir        INDEX_DAEMON
  13.   --enable-etiquette         --with-metamail        NNTP_INEWS
  14.   --enable-forgery         --with-ncurses        NNTP_SERVER_FILE
  15.   --enable-locale         --with-nntp-default-server NO_POSTING
  16.   --enable-mh-mail-handling  --with-nov-dir        NO_SHELL_ESCAPE
  17.   --enable-nntp             --with-pgp
  18.   --enable-nntp-only         --with-spooldir        SMALL_MEMORY_MACHINE
  19.   --with-domain-name         DONT_HAVE_PIPING        USE_INVERSE_HACK
  20.   --with-inews-dir
  21.  
  22.  
  23. News machine names
  24. ------------------
  25.  
  26. --with-domain-name
  27. Defines the name of your news gateway machine. Useful if you don't want
  28. your internal network visible to the outside world, or if your inews script
  29. or NNTP server rewrites your address for you.
  30. If the first letter of the string is a '/' the gateway name will be read from
  31. the specified file.
  32.  
  33. Example 1: If you are on machine 'tragic' at network domain 'confusion.com',
  34. Tin will assume your From: line should read "user@tragic.confusion.com".  If
  35. your inews script instead rewrites your address as "user@confusion.com", you
  36. will be unable to cancel your own postings.  To make your posts and cancels
  37. work properly, define -DDOMAIN_NAME=\"confusion.com\"
  38.  
  39. General Notes on Building Tin
  40. -----------------------------
  41.  
  42. Tin has been compiled on a wide range of Un*x machines with cc and gcc.
  43. It has even been ported to other systems like the Amiga.
  44. A list of these machines can be found at the end of this file.
  45.  
  46. This file is long (so was the yellow brick road) but please read it all
  47. as it could save you problems later and we don't want an unhappy ending
  48. do we ? :-)
  49.  
  50. Tin can be compiled to read news in any of the following ways:
  51.  
  52.   o  locally from your machines news spool dir (default /var/spool/news).
  53.  
  54.   o  locally and remotely via NNTP (rtin or tin -r option) (--enable-nntp).
  55.  
  56.   o  remotely via NNTP (--enable-nntp-only).
  57.  
  58. If the remote server supports NOV overview indexing, then tin will retrieve
  59. overview data on the fly using the NNTP XOVER extension.
  60. Otherwise tin will create its own NOV style index files on the local machine
  61. for each user in $HOME/.tin/.index
  62.  
  63. Many machines require the name of the news gateway machine or the news
  64. domain to be set via the --with-mail-gateway or the --with-mail-domain
  65. configure options.  This is true of both NNTP and local news systems.
  66.  
  67.  
  68. Building the Normal version:
  69. ----------------------------
  70.  
  71. 1)  Type './configure --help' to see which options are needed for your
  72.     local setup.
  73. 2)  Change conf-tin for your needs or run ./configure with all needed
  74.     options.
  75. 3)  type 'make build' to build tin in the src/ directory.
  76.     Alternatively goto the src subdirectory and type 'make'
  77. 4)  Type 'make install' to install.
  78.  
  79. Building the Index daemon version:
  80. ----------------------------------
  81.  
  82. (This feature is deprecated. Use it only if your server doesn't support
  83. NOV overview files)
  84.  
  85. Note1: If you want to retrieve tin index files from your NNTP server,
  86.        or if you don't run NNTP but want to install tin setuid and have
  87.        a central index rather than each user keeping his/her own index
  88.        and want tind to automatically keep the index up-to-date, then
  89.        you will need the tind index file daemon; create it using the
  90.        following steps:
  91.  
  92.    1)  Build and install the 'Normal version' of tin as specified by the
  93.        above 4 points.
  94.    2)  Run "make clean" to delete the *.o files from the normal version.
  95.    3)  The tind index daemon needs to be installed on your NNTP server,
  96.        or on your stand-alone news server if you're not using NNTP.
  97.        More info. concerning my NNTP patches & the tin daemon can be
  98.        found in the INSTALL.NNTP file.  If you don't use NNTP, just
  99.        install tind on the machine that has the news spool directory.
  100.    4)  Apply my NNTP patches to your nntpd server or this will not work
  101.        with NNTP!!!. (If you want tind locally read Note3).
  102.    5)  Edit the Makefile and add -DINDEX_DAEMON to your CPPOPTS entry and
  103.        remove any -DNNTP_* defines. Also remove -lcurses, -ltermcap, and
  104.        any other screen-handling libraries used, as tind does not need to
  105.        be linked with curses and it will save a good 30-50K on the size of
  106.        tind.
  107.    6)  Type 'make <system type>' to compile tind daemon for your NNTP server
  108.        or stand-alone news server.  This creates tind as the file "tin".
  109.    7)  Rename the file "tin" to "tind" (i.e. mv tin tind).
  110.    8)  Type 'make install_daemon' to install tind daemon on your NNTP server
  111.        or stand-alone news server.
  112.    9)  Add the following line to your system cron to run tind every 30 mins:
  113.               00,30 * * * * su news -c '/usr/lib/news/tind'
  114.  
  115. Note2: tind must be run as user 'news' and the normal tin must have
  116.        the correct permissions to read the central index files!
  117. Note3: tind can also be used to update a copy of all index files
  118.  
  119. Testing Tin
  120. -----------
  121.  
  122. Of course you _were_ going to test it before installing it for anyone else
  123. to use, weren't you?  This is just a little reminder and some suggestions
  124. on what to test first, and where to look first if it's broken.
  125.  
  126. Things to test:
  127.  
  128. 1) Check that you can read news from several local and world-wide groups.
  129.    If this fails, check that the NNTP define directives are correctly set,
  130.    and for local news systems, that the News directory structure define
  131.    directives are correctly set.  For NNTP versions, check that the server is
  132.    actually running and can be connected to from your machine.  This should
  133.    help you find and fix some of the most common problems.
  134.  
  135.    If reading news works fine, then:
  136.  
  137. 2) Check that you can post a test message to a local distribution group,
  138.    preferably a test-only group.  (Remember, the world does not care to
  139.    know whether you are testing Tin.)  If it fails, check that the
  140.    INEWSDIR define is correctly set, that NNTP_INEWS is correctly set, and
  141.    that the News machine name define directives are correctly set.  If
  142.    possible, check whether you can post via some other mechanism, such as
  143.    Pnews.  This should help you isolate and fix the most common problems.
  144.  
  145.    If posting news works fine, then:
  146.  
  147. 3) Check that you can cancel one of your test postings.  If not, it is
  148.    almost certain that your News machine defines need to be set correctly,
  149.    because Tin thinks your From: line is different from what has actually
  150.    been posted.  See the section on News machine names below.
  151.  
  152. Further testing is desirable, but left to your individual conscience and
  153. ingenuity.
  154.  
  155.  
  156.  
  157. Detailed list of configure options (beginning with '--') and compiler flags
  158. (-D<name> directives)
  159.  
  160. News directory structure
  161. ------------------------
  162.  
  163. --with-libdir=PATH
  164. Define if news software is not in /usr/lib/news.
  165. (only needed if not running --enable-nntp-only)
  166.  
  167. --with-spooldir=PATH
  168. Define if news articles are not in /var/spool/news.
  169. (only needed if not running --enable-nntp-only)
  170.  
  171. --with-nov-dir=PATH
  172. Define if news overview (NOV) files are not stored in SPOOLDIR.
  173. (only needed if not running --enable-nntp-only)
  174.  
  175. --with-inews-dir=PATH
  176. Define if bnews/cnews program 'inews' is not in NEWSLIBDIR.
  177.  
  178. NNTP - Reading & posting news
  179. -----------------------------
  180.  
  181. --enable-nntp (default: on)
  182. Define if you wish to read news locally and remotely via an NNTP server.
  183.  
  184. --enable-nntp-only (default: off)
  185. Define if you [want to | can] ONLY read news remotely via an NNTP server.
  186.  
  187. --with-nntp-default-server (default: news.$DOMAIN_NAME)
  188. Defines the name of the default NNTP server that tin should connect to.
  189. Can be overridden by setting the environment variable NNTPSERVER.
  190.  
  191. NNTP_INEWS
  192. Define if you want to use my built-in NNTP POST routine so that you no
  193. longer have to rely on the mini-inews from NNTP to be installed on each
  194. client machine. Also check that DOMAIN_NAME is correctly set to produce a
  195. correct From: headers for your site. If defined then the ~/.tin/tinrc
  196. variable "use_builtin_inews" default will be set to OFF rather than ON. The
  197. tinrc file is created automatically for each user the first time they use
  198. tin.
  199.  
  200. NNTP_SERVER_FILE
  201. Only define if your NNTP-server file is other than /etc/nntpserver.
  202.  
  203. NETLIBS
  204. Contains the networking libraries needed to link with nntplib.o file.
  205.  
  206. Daemon options
  207. --------------
  208.  
  209. INDEX_DAEMON
  210. Define to make an index file updating daemon version of tin. Note that
  211. no -lcurses or screen libraries need to be linked with tin when this
  212. #define is specified. If defined this will automatically undefine all
  213. NNTP_* defines as the daemon has to be installed on the NNTP server.
  214.  
  215.  
  216. Miscellaneous options
  217. ---------------------
  218.  
  219. --enable-debug
  220. Define if you want tin to log debug info. to files in /tmp. Activated
  221. by tin -Dn where n is 1 for NNTP only debug logging and n is 2 for
  222. logging all debug info. Debug files written to /tmp are ARTS, ACTIVE,
  223. BASE and NNTP.
  224.  
  225. --enable-forgery
  226. Define if you want to be able to cancel postings you did not write
  227. yourself.  The !cyberspam and cancel conventions are supported.  Be
  228. careful with this feature, it should not be used in an free accessible
  229. tin.  This feature does not work with INN using the INN-inews (when
  230. using without NNTP), because INN-inews rejects these cancels.
  231.  
  232. --enable-8bit-keys
  233. Define if your terminal generates 8-bit controls.  For Unix systems we
  234. assume this may imply your arrow keys begin either with CSI (0x9b) or SS3
  235. (0x8f).  Most ANSI terminals generate 7-bit controls (e.g., CSI is
  236. "<esc>["), but some such as VT220 can be configured more efficiently to
  237. generate 8-bit prefix codes, saving a byte per control sequence.  This
  238. applies to cursor movement at the same time.  The actual codes are read
  239. from termcap (this does not affect the curses configuration).
  240.  
  241. --enable-color
  242. Define if you want to have ANSI-color support.  This works on most
  243. color displays and the color xterm.  The color mode can be switched
  244. on/off in ~/.tin/tinrc (use_color) and can be toggled with option -a
  245. or key '&'.
  246.  
  247. --with-ispell=PATH
  248. Define if you have ispell (interactive spell-checker) installed and want the
  249. option of checking your articles, mails before posting/mailing them.
  250. If found in search path, this is used automatically.
  251.  
  252. --with-metamail=PATH
  253. Define if you want metamail display your MIME messages.
  254. If found in search path, this is used automatically.
  255.  
  256. --enable-mh-mail-handling
  257. Define if you want to use the MH style mail handling & reading code in mail.c
  258. It should be noted that mail handling is not well tested and not yet fully
  259. implemented. You can expect errors if you use this define so let me know the
  260. problems by sending me a bug report ('R' bug command from within tin).
  261.  
  262. --with-pgp=PATH
  263. Define if you have PGP (Pretty Good Privacy encryption system)
  264. installed and want the option of checking signatures, extract keys,
  265. sign messages and add public key to messages.  This is bound to the
  266. key 'g' or '^G'.
  267. If found in search path, this is used automatically.
  268.  
  269. --with-inn-nntplib=PATH
  270. Define if you want to use the INN library functions GetConfigValue()
  271. & GetFQDN().  The INN_NNTPLIB variable in the Makefile must contain
  272. the correct path to INN library.
  273.  
  274. --with-iso-to-ascii
  275. Define if you want tin to do ISO-8859-1 Charset to ASCII conversations
  276. by default for all groups. You must specify a value of "0-6" to get tin
  277. to use one of the 7 conversion tables for different languages.
  278. i.e., Adding -DUSE_ISO2ASC=\"2\" to the CPPOPTS line in the Makefile would
  279. be useful in the german language newsgroups. For more detailed info
  280. read the file ./doc/iso2asc.txt. Default value for USE_ISO2ASC is "-1".
  281.  
  282. --with-ncurses
  283. Define this if you want to link with ncurses instead of termcap.
  284.  
  285. --enable-curses
  286. Define this if you wish to use the curses screen optimizing rather than
  287. termcap.  This has been tested well only with ncurses 4.1; it should work
  288. (except for mouse support and screen resizing) with SVr4 curses (Solaris
  289. 2.5 is known to have a bug in libc which prevents use of curses, ncurses
  290. works well on that platform).  To build with ncurses screen optimizing,
  291. you must give both the --with-ncurses and --enable-curses options.
  292.  
  293. --enable-etiquette (default: on)
  294. If enabled, prints netiquette before posting.
  295.  
  296. --enable-locale (default: on)
  297. If enabled, tin uses multi language support, as described in
  298. locale(7).  If you don't have locale support installed on your system,
  299. try --disable-locale, otherwise you won't see any 8-bit-characters.
  300.  
  301. DONT_HAVE_PIPING
  302. Define if your system does not support piping of articles to shell commands.
  303.  
  304. HAVE_FASCIST_NEWSADMIN
  305. Define if you want users articles to be posted to groups that your site
  306. receives.  This will change the warning that a group that the user is
  307. posting to was not found in the sites active file to an error in the
  308. article checking routine therefore causing the user to remove the group
  309. from his/her posting or to abort the posting of the article.
  310.  
  311. HAVE_MMDF_MAILER
  312. Define if your machine uses a MMDF type mailer instead of sendmail.
  313. It is defined as default on SCO Unix machines. It can be dynamically
  314. changed by setting the tinrc variable save_to_mmdf_mailbox to ON.
  315.  
  316. HAVE_PGP_5
  317. Define if you use pgp-5 instead of pgp-2.
  318.  
  319. NO_POSTING
  320. Do not allow posting/followup of articles.
  321.  
  322. NO_SHELL_ESCAPE
  323. Do not allow shell escapes.
  324.  
  325. USE_INVERSE_HACK
  326. Define if you want inverse video and highlighted bar disabled. Can be
  327. toggled in tin by the 'I' command and highlight bar by 'M' command.
  328.  
  329. SMALL_MEMORY_MACHINE
  330. Define if you are running a machine with little memory (<4MB). Tin will
  331. run slightly slower but be more efficient in how memory is allocated and
  332. reclaimed.
  333.  
  334.  
  335.  
  336. Compiled & installed on the following machines:
  337. -----------------------------------------------
  338.  
  339. 1)    i486 & Linux 0.99.14w with gcc  2.5.7
  340.     i486 & Linux 1.2.13 with gcc 2.7.0
  341.     i486 & Linux 2.0.33 with gcc 2.7.2.2
  342.     i586 & Linux 2.0.27 with gcc 2.7.2.1
  343.     DEC Alpha AXP & Linux 2.0.0 with gcc 2.7.1
  344.     Amiga 4000/040 & Linux 2.0.29 with gcc 2.7.2
  345.  
  346. 2)    HP 9000/835 & HP-UX 8.00 with cc
  347.     HP 9000/825 & HP-UX 8.00 with gcc 2.7.2
  348.     HP 9000/735 & HP-UX 9.02 with gcc 2.6.3
  349.     HP 9000/720 & HP-UX 9.05 with cc
  350.     HP 9000/720 & HP-UX 9.05 with gcc 2.7.2
  351.     HP 9000/715 & HP-UX 9.07 with cc
  352.     HP 9000/715 & HP-UX 9.07 with gcc 2.7.2
  353.     HP 9000/819 & HP-UX 10.10 with cc
  354.     HP 9000/819 & HP-UX 10.10 with gcc 2.7.2
  355.     HP 9000/829 & HP-UX 10.20 with cc
  356.     HP 9000/829 & HP-UX 10.20 with gcc 2.7.2.2
  357.  
  358. 3)    VAX 8350 & Ultrix 4.0 with gcc 1.4.0
  359.     VAX 8350 & Ultrix 4.0 with gcc 2.7.2
  360.     DEC Station ??? & Ultrix 4.3 with gcc 2.6.3
  361.  
  362. 4)    AlphaStation 3000 & Digital UNIX 3.2c with gcc 2.7.2
  363.     AlphaStation 600 5/266 & Digital UNIX 3.2 with cc
  364.  
  365. 5)    AlphaStation ??? & OSF/1 v3.2 with cc
  366.     AlphaStation ??? & OSF/1 v3.2 with gcc 2.7.2
  367.  
  368. 6)    Sun SPARCstation 10 & SunOS 5.5 with cc 3.0.1
  369.     Sun UltraSPARC Enterprise 2 & SunOS 5.5.1 with gcc 2.7.2
  370.     Sun SPARCserver 1000 & SunOS 5.5 with cc 3.0
  371.     Sun SPARCsystem 10/30 & SunOS 5.4 with gcc 2.6.3
  372.     Sun 3/60 & SunOS 4.1.1_U1 with gcc 2.7.2.2
  373.  
  374. 7)    Intergraph Clipper & CLIX 7.5 with gcc 2.7.1
  375.  
  376. 8)    i486 & BSDI 2.0 with gcc 1.42
  377.     i486 & BSDI 2.0 with gcc 2.6.3
  378.  
  379. 9)    i486 & NetBSD 1.1 with gcc 2.4.5
  380.     i486 & NetBSD 1.2 with gcc 2.7.2
  381.     Amiga 4000 & NetBSD 1.2 with gcc 2.7.2
  382.     Sun 3/60 & NetBSD 1.2G with gcc 2.7.2.2
  383.  
  384. 10)    i386 & FreeBSD 2.1.0 with 2.7.2
  385.     i586 & FreeBSD 3.0-SNAP-971208 with 2.7.2.1
  386.  
  387. 11)    IBM PowerPC RS6000/40p & AIX 4.1.5.0 with gcc 2.8.0
  388.     IBM 7012/320H & AIX 3.2 with gcc 2.3.3
  389.  
  390. 12)    i586 & SCO OpenServer Enterprise System (ver 5.0.0b)
  391.     with SCO OpenServer Development System (ver 5.0.0a)
  392.  
  393. 13)    i386 & XENIX 2.3.3 with gcc 1.37.1
  394.  
  395. 14)    NeXT Computer & NeXTSTEP 3.3 with gcc 2.5.8
  396.  
  397. 15)    SGI SC900 Power Challenge & IRIX 6.2 with gcc 2.7.2
  398.     SGI Indigo2 & IRIX 5.3 with gcc 2.7.2
  399.  
  400. 16)    m88k mc88110 & UNIX_System_V 4.0 R40V4.4
  401.     with Motorola Configurable C Compilation System (CCCS) 1.0
  402.  
  403. 17)    Amiga 4000 & AmigaOS 3.0 with SAS/C 6.57
  404.  
  405. 18)    OpenVMS/Alpha 6.2, DEC C V5.0-003,                  SOCKETSHR_TCP
  406.     OpenVMS/Vax   5.3, GCC 2.7.2 (Pat Ranking edition), SOCKETSHR_TCP
  407.